package com.example.wnn.activiti;

import java.util.List;

public interface WorkflowService {


    /**
     * 创建流程并部署流程
     * @param uid 业务上的流程唯一ID
     * @return
     */
     boolean generateDeployBpmn(String uid, List<String> candidateGroups);

    /**
     * 流程删除
     * @param uid
     * @return
     */
     boolean delFlowDeploy(String uid);


    /**
     * 启动流程实例，与业务进行绑定
     * @param uid
     * @param businessKey
     * @return
     */
     boolean startWorkFlow(String uid,String businessKey);



    /**
     * 用户当前待处理的任务
     * @param userId
     * @return
     */
     List<TaskProgress> selectTaskProgressList(String userId);

    /**
     * 用户已经处理的任务
     * @param userId
     * @return
     */
    List<TaskProgress> selectTaskProgressHistroyList(String userId);


    /**
     * 审核通过
     * @param taskId
     * @param userId
     * @param message
     * @return
     */
     boolean  pass(String taskId,String userId,String message);

     boolean reject(String taksId,String userId,String notes);


     boolean refreshUser(String userId,String name,List<String> groups);





}
